BeSwarm 1.3 for BeOS (PPC and Intel)

Welcome to the BeSwarm readme file. BeSwarm is a module for Blanket by Duncan Wilcox or any other screen saver compatible to the saver from Hiroshi Lockheimer. If you don't have it yet, get it. 
BeSwarm is an implementation of the xswarm, originally from Jeff Butterworth (butterwo@cs.unc.edu).  BeSwarm is using some modules from Trevor Walker (twalker@carroll1.cc.edu), especially the tabbed view class and the ControlSlider class (to which i made a few enhancements). The classes were originally in his saver module "Electron Storm", a fine module with interesting effects. BeSwarm uses only the algorithm of the original xswarm. I ripped 
of the X-stuff, converted the swarm to a class and reimplemented the whole drawing using Be classes. I removed some of the unneeded functionality like running as a background window, which is a little bit difficult using BeOS, and bouncing on foreign window borders. You cannot position the wasp with the mouse, since this would be a little bit difficult for a screen saver module. Also i added some improvements to the original version like color cycling, a configurable number of wasps 
and hyperspace of wasps.These features and the other configuration options are described below. 
New in 1.3: A heat map which changes the color of the bees depending on their distance to a wasp.
Now runs on R3 for Intel too.

BeSwarm is (c) 1998 by Dirk Steins (dsteins@ibm.net).  If you use something of this, please mention my name (if it is from me). 

If you like it, drop me a mail. 

Disclaimer

I hate this stuff, but it is necessary.

THIS SOFTWARE IS PROVIDED "AS IS". YOU ARE USING THIS SOFTWARE AT YOUR OWN RISK.
THE AUTHOR (DIRK STEINS) IS NOT LIABLE FOR ANY DAMAGE CAUSED BY THE USE, NOT 
USE OR ABUSE OF BeSwarm OR BY THE INABILITY TO USE BeSwarm.  IF YOU ARE NOT 
SURE ABOUT THIS, OR IF YOU DON'T ACCEPT THIS, THEN DO NOT USE BeSwarm!

Installation

Simply copy BeSwarm to the saver's module folder. Start saver, 
and then it will be there. Or open a terminal window and execute install.sh
(just type . install.sh at the prompt), this will do the same thing.

Configuration

BeSwarm is completely configurable. Nearly every parameter of the original 
xswarm which remained in use is open to modification through the interface, 
and the additional features also. 
Configuration is done using three tab views in the configuration view of 
saver. I will describe every option as best as i can. 

The Settings tab

This page controls the general parameters. 

Cycle colors:	With this checkbox  you enable or disable color cycling for 
	the bees pursuing the wasps. 

Heat Map:		This checkbox controls the "heap mapping" feature. If you enable
	this feature all bees which are getting nearer to a wasp will be drawn in 
	different colors, depending on the distance to the wasp. Looks really nice-

Cycle colors every n'th frame: 	With this slider you control how fast the 
	color of the bees cycles. If you wanna dizzy effects, you should set this 
	value to every frame (1), for more moderate natures you can set it to 
	higher values which mean a slower cycling.

Frames/sec.:	This controls the speed of the animation process. The animation
	will show the displayed number of frames per second. Note: The maximum 
	value of 200 is not the speed limit of the BeBox, the graphics system 
	could be faster. But this is so fast that the beauty of the swarm is not 
	recognizable any more, so i limited it to 200 frames/sec. 

Hyperspace:	Hyperspace is a very special feature. It enables the wasps to 
	escape the pursuing bees doing a hyperspace jump (engage!). The wasp 
	simply turns on a cloaking device for one frame, jumps to another location 
	and reappears there. This brings more life to the whole scenario, and it 
	is really nice to see how the bees try to catch up again with a wasp which 
	jumped away. The hyperspace appears after a random amount of time, so it is
	possible that a wasp will do more than one hyperspace jump in a very short 
	period. Of course the time is different for every wasp on screen. 
	
Max. time for hyperspace:	This controls the maximum time in which a 
	hyperspace jump for a wasp will occur. Every wasp will do a jump in this 
	amount of time.

Default
	This button resets all settings to their default value. 

The Bees tab

This tab view controls the behaviour of the bees. 

Number of Bees:	This controls how many bees will be pursuing the wasps. 
	Mininum value is 10, maximum is 400.

Bee acceleration:	This controls the maximum acceleration of the bees. 
	This value is normally lower than the wasp acceleration since bees are 
	bigger in size and not so agile as wasps. Minimum value is 1, maximum 
	value is 9.

Bee max. speed:	This controls the maximum speed of the bees. A bee will 
	never be faster than this max speed. Minimum value is 3, maximum is 19. 


The Wasps tab

This tab controls the behaviour of the wasps. It is very similar to the bee tab. 

Number of Wasps:	This controls the number of wasps on screen. I find a 
	swarm with more wasps than one a little bit more interesting, so i added 
	this feature. The default and minimum value is one wasp, the maximum is 
	eight wasps. I like values of two up to four wasps.

Wasp acceleration:	This controls the maximum acceleration of the wasps. 
	Minimum value is 1, maximum value is 9. The default is 5.

Wasp max speed:	This controls the max speed of every wasp. No wasp will 
	travel faster than this value allows (except if the wasp is doing a 
	hyperspace jump). The default value is 12, mininum and maximum values 
	are 3 and 19. 

Border for wasp:	This controls how near a wasp can go to the screen 
	border. If a wasp reaches this border, it will turn around and 
	change direction. 

The Preview tab

In this view there is a preview of a swarm with the settings when configuring was started. 
Note: This preview does not yet reflect the current settings! Maybe i'll add this feature later.


I hope you like BeSwarm, and if you do, it would be nice if you would drop 
me a mail.
